﻿using Kavaa.Modules.PortailMedical.Entity;
using Kavaa.Modules.PortailMedical.Interface;

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;

namespace Kavaa.Modules.PortailMedical.Proxy
{
    public class CliniqueClient : ClientBase<IClinique>, IClinique
    {
        /// <summary>
        /// Constructeur
        /// </summary>
        public CliniqueClient() { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public CliniqueClient(string endpointConfigurationName) :
            base(endpointConfigurationName) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public CliniqueClient(string endpointConfigurationName, string remoteAddress) :
            base(endpointConfigurationName, remoteAddress) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public CliniqueClient(string endpointConfigurationName, EndpointAddress remoteAddress) :
            base(endpointConfigurationName, remoteAddress) { }

        /// <summary>
        /// Constructeur
        /// </summary>
        public CliniqueClient(Binding binding, EndpointAddress remoteAddress) :
            base(binding, remoteAddress) { }



        public Reservations GetReservCliniqueAccordees(int IdClinique)
        {
            return base.Channel.GetReservCliniqueAccordees(IdClinique);
        }

       public Reservations GetReservCliniqueEnCours(int IdClinique)
        {
            return base.Channel.GetReservCliniqueEnCours(IdClinique);
         
        }
       public String GetBlocReserv(int IdReserv)
       {
           return base.Channel.GetBlocReserv(IdReserv);
       }
       public void ConfirmReserv(int reservId)
       {
           base.Channel.ConfirmReserv(reservId);
       }
       public void RejectReserv(int reservId)
       {
           base.Channel.RejectReserv(reservId);
       }
       public Accreditations GetAccreditationsAttente(int cliniqueId)
       {
           return base.Channel.GetAccreditationsAttente(cliniqueId);
       }
       public void UpdateEtatAccredit(int etat, int id)
       {
           base.Channel.UpdateEtatAccredit(etat, id);
       }

       public int SaveRessourceClinique(int RessourceId, int CliniqueId)
       {
           return base.Channel.SaveRessourceClinique(RessourceId, CliniqueId);
       }

       public void SavePropriete(int CategorieId, String ProprieteName, String ProprieteValue)
       {
           base.Channel.SavePropriete(CategorieId, ProprieteName, ProprieteValue);
       }

       public void SaveActesCategorie(int ActeId, int CategorieId)
       {
           base.Channel.SaveActesCategorie(ActeId, CategorieId);
       }

       public int SaveCategorie(String Categorie, int RessourceCliniqueId)
       {
           return base.Channel.SaveCategorie(Categorie, RessourceCliniqueId);
       }
       
       public  Categories GetRessourcesClinique(int CliniqueId)
       {
           return base.Channel.GetRessourcesClinique(CliniqueId);
       }

       public Reservations GetReservationPatient(int ReservId)
       {
           return base.Channel.GetReservationPatient(ReservId);

       }
       public void SaveActeClinique(int[] ActesId, int CliniqueId)
       {
           base.Channel.SaveActeClinique(ActesId, CliniqueId);
       }
    }
}
